package hcn.api.service.brandnew.zhenliao;

import ctd.controller.exception.ControllerException;
import ctd.util.annotation.RpcService;
import hcn.protocol.brandnew.zhenliao.jianyan.*;

/**
 * 平台消息模型/公用/v4.0/诊疗类业务/检验
 *
 * @author enjoyLife
 */
public interface JianyanService {


    /**
     * 检验申请项目附加费获取
     */
    @RpcService
    LabRequestGetSurchargeResponse labRequestGetSurcharge(LabRequestGetSurchargeRequest req) throws ControllerException;


    /**
     * 检验申请项目采集注意事项获取
     */
    @RpcService
    LabRequestGetCollectNoteResponse labRequestGetCollectNote(LabRequestGetCollectNoteRequest req) throws ControllerException;


    /**
     * 检验申请信息新增
     */
    @RpcService
    OdsGenerateDocumentsResponse odsGenerateDocuments(OdsGenerateDocumentsRequest req) throws ControllerException;


    /**
     * 检验申请信息新增
     */
    @RpcService
    LabRequestSubmitResponse labRequestSubmit(LabRequestSubmitRequest req) throws ControllerException;


    /**
     * 检验类别和项目获取
     */
    @RpcService
    LabRequestQueryItemsResponse labRequestQueryItems(LabRequestQueryItemsRequest req) throws ControllerException;


    /**
     * 检验申请单号获取
     */
    @RpcService
    LabRequestGetRequestIdResponse labRequestGetRequestId(LabRequestGetRequestIdRequest req) throws ControllerException;


    /**
     * 检验报告列表查询
     */
    @RpcService
    LabReportQueryListResponse labReportQueryList(LabReportQueryListRequest req) throws ControllerException;


    /**
     * 检验报告列表和明细查询（批量）
     */
    @RpcService
    LabReportBatchQueryResponse labReportBatchQuery(LabReportBatchQueryRequest req) throws ControllerException;


    /**
     * 检验申请信息查询（批量）
     */
    @RpcService
    LabRequestBatchQueryResponse labRequestBatchQuery(LabRequestBatchQueryRequest req) throws ControllerException;


    /**
     * 检验申请信息撤销
     */
    @RpcService
    LabRequestCancelResponse labRequestCancel(LabRequestCancelRequest req) throws ControllerException;


    /**
     * 检验样本类型获取
     */
    @RpcService
    LabRequestQuerySampletypeResponse labRequestQuerySampletype(LabRequestQuerySampletypeRequest req) throws ControllerException;


    /**
     * 检验报告列表和明细查询
     */
    @RpcService
    LabReportQueryResponse labReportQuery(LabReportQueryRequest req) throws ControllerException;


    /**
     * 检验危急值查询
     */
    @RpcService
    LabWarnResultQueryResponse labWarnResultQuery(LabWarnResultQueryRequest req) throws ControllerException;


    /**
     * 检验项目明细获取
     */
    @RpcService
    LabRequestQueryItemDtailResponse labRequestQueryItemDtail(LabRequestQueryItemDtailRequest req) throws ControllerException;

    /**
     * 检验危急值确认反馈
     */
    @RpcService
    LabWarnResultConfirmResponse labWarnResultConfirm(LabWarnResultConfirmRequest req) throws ControllerException;

    /**
     * 检验申请信息查询
     */
    @RpcService
    LabRequestQueryResponse labRequestQuery(LabRequestQueryRequest req) throws ControllerException;

    /**
     * 检验报告项目查询
     */
    @RpcService
    LabReportItemListQueryResponse labReportItemListQuery(LabReportItemListQueryRequest req) throws ControllerException;

    /**
     * 检验结果趋势查询
     */
    @RpcService
    LabReportItemTrendQueryResponse labReportItemTrendQuery(LabReportItemTrendQueryRequest req) throws ControllerException;

    /**
     * 关联指标结果因素信息
     */
    @RpcService
    InspectResultNatureItemListQueryResponse inspectResultNatureItemListQuery(InspectResultNatureItemListQueryRequest req) throws ControllerException;


}
